#include "udp_server.hpp"
#include <memory>

//使用手册：当命令行输入错误时，可提示正确启动信息
void Usage(std::string proc)
{
    std::cout << "\nUsage:" << proc << " port\n" << std::endl;
}

// 服务端：启动服务端所需指令 upd_server.cc port
int main(int argc, char **argv)
{
    // 1、检测输入指令是否正确：关系到服务器启动
    if (argc != 2)
    {
        Usage(argv[0]);
        exit(1);
    }
    
    // 2、获取端口号
    uint16_t server_port=atoi(argv[1]);

    // 3、使用智能指针来管理服务器
    std::unique_ptr<UdpServer> server(new UdpServer(server_port));
    server->InitServer();//初始化服务器
    server->Start();//启动服务器

    return 0;
}